[su-hint]:after {
    position: absolute;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: hidden;
    opacity: 0;
    z-index: 1000000;
    pointer-events: none;
    -webkit-transition: 0.3s ease;
    -moz-transition: 0.3s ease;
    transition: 0.3s ease;
    -webkit-transition-delay: 0ms;
    -moz-transition-delay: 0ms;
    transition-delay: 0ms;
    background: var(--Black);
    color: var(--White);
    padding: 8px 10px;
    font-size: 12px;
    line-height: 12px;
    white-space: nowrap;
}

[su-hint]:hover:after {
    visibility: visible;
    opacity: 1;
    -webkit-transition-delay: 100ms;
    -moz-transition-delay: 100ms;
    transition-delay: 100ms;
}

[su-hint][aria-label]:after {
    content: attr(aria-label);
}

[su-hint][data-hint]:after {
    content: attr(data-hint);
}

[aria-label='']:after,
[data-hint='']:after {
    display: none !important;
}

[su-hint~="top"]:after {
    bottom: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    transform: translateX(-50%);
}

[su-hint~="top"]:hover:after {
    -webkit-transform: translateX(-50%) translateY(-8px);
    -moz-transform: translateX(-50%) translateY(-8px);
    transform: translateX(-50%) translateY(-8px);
}

[su-hint~="bottom"]:after {
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    transform: translateX(-50%);
}

[su-hint~="bottom"]:hover:after {
    -webkit-transform: translateX(-50%) translateY(8px);
    -moz-transform: translateX(-50%) translateY(8px);
    transform: translateX(-50%) translateY(8px);
}

[su-hint~="right"]:after {
    margin-bottom: -14px;
    left: 100%;
    bottom: 50%;
}

[su-hint~="right"]:hover:after {
    -webkit-transform: translateX(8px);
    -moz-transform: translateX(8px);
    transform: translateX(8px);
}

[su-hint~="left"]:after {
    margin-bottom: -14px;
    right: 100%;
    bottom: 50%;
}

[su-hint~="left"]:hover:after {
    -webkit-transform: translateX(-8px);
    -moz-transform: translateX(-8px);
    transform: translateX(-8px);
}

[su-hint~="top-left"]:after {
    bottom: 100%;
    left: 50%;
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    transform: translateX(-100%);
    margin-left: 12px;
}

[su-hint~="top-left"]:hover:after {
    -webkit-transform: translateX(-100%) translateY(-8px);
    -moz-transform: translateX(-100%) translateY(-8px);
    transform: translateX(-100%) translateY(-8px);
}

[su-hint~="top-right"]:after {
    bottom: 100%;
    left: 50%;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    transform: translateX(0);
    margin-left: -12px;
}

[su-hint~="top-right"]:hover:after {
    -webkit-transform: translateY(-8px);
    -moz-transform: translateY(-8px);
    transform: translateY(-8px);
}

[su-hint~="bottom-left"]:after {
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    transform: translateX(-100%);
    margin-left: 12px;
}

[su-hint~="bottom-left"]:hover:after {
    -webkit-transform: translateX(-100%) translateY(8px);
    -moz-transform: translateX(-100%) translateY(8px);
    transform: translateX(-100%) translateY(8px);
}

[su-hint~="bottom-right"]:after {
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    transform: translateX(0);
    margin-left: -12px;
}

[su-hint~="bottom-right"]:hover:after {
    -webkit-transform: translateY(8px);
    -moz-transform: translateY(8px);
    transform: translateY(8px);
}

[su-hint~="rounded"]:after {
    border-radius: 4px;
}